package com.xf.lastmall.order.api.dto;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * ClassName: 在线下单Dto <br/>
 * date: 2018年6月7日 下午4:03:46 <br/>
 *
 * @author ZHUANGWEILIANG1
 */

@Data
public class OnlineOrderDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 项目编码
     */
    private String mallCode;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 订单类型[1:团购/2:秒杀/3:活动]
     */
    private String orderType;
    /**
     * 下单用户ID
     */
    private String userId;
    /**
     * 下单用户名称
     */
    private String userName;
    /**
     * 支付方式[3:支付宝APP支付/4:微信APP支付/5:银联APP支付/6:百度钱包APP支付/11:积分支付]
     */
    private int payType;
    /**
     * 来源[ios:IOS/android:安卓/wechat:公众号/wxa:小程序]
     */
    private String source;
    /**
     * 适用范围[0-全场;大于0指定商家个数]
     */
    private String serviceScope;
    /**
     * 商家编码
     */
    private String serviceMerchantCode;
    /**
     * 商家名称
     */
    private String serviceMerchantName;
    /**
     * 商品号
     */
    private String commodityNo;
    /**
     * 商品名
     */
    private String commodityName;
    /**
     * 商品图片地址
     */
    private String commodityPicUrl;
    /**
     * 商品属性列表
     */
    private List<CommodityPropertyDto> commodityPropertyList;
    /**
     * 标价/原价/市场价
     */
    private BigDecimal marketPrice = new BigDecimal(0);
    /**
     * 折扣
     */
    private BigDecimal discount = new BigDecimal(0);
    /**
     * 售价/折后价
     */
    private BigDecimal sellPrice = new BigDecimal(0);
    /**
     * 购买数量
     */
    private int quality = 0;
    /**
     * 是否支持核销[1:是/0:否]
     */
    private int canConsume = 1;
    /**
     * 是否支持退款[1:是/0:否]
     */
    private int canRefund = 1;

    /**
     * 核销码
     */
    private String consumeCode;

    /**
     * 买家联系电话
     */
    private String memberMoboile;

    /**
     * 商品核销开始时间
     */
    private Date useBeginTime;

    /**
     * 商品核销结束时间
     */

    private Date useEndTime;
}
